//package com.tangcco.lockwell;
//
//
//import com.fasterxml.jackson.databind.ObjectMapper;
//import com.tangcco.lockwell.domain.Article;
//import com.tangcco.lockwell.domain.GroupsRelationship;
//import com.tangcco.lockwell.domain.User;
//import com.tangcco.lockwell.domain.test.Q1;
//import com.tangcco.lockwell.domain.test.Q3;
//import com.tangcco.lockwell.domain.test.Questionnaire;
//import com.tangcco.lockwell.domain.test.SSSSS;
//import com.tangcco.lockwell.repository.GroupsMapper;
//import com.tangcco.lockwell.repository.GroupsRelationshipMapper;
//import com.tangcco.lockwell.repository.UserMapper;
//import com.tangcco.lockwell.service.ArticleService;
//import com.tangcco.lockwell.service.QuestionService;
//import com.tangcco.lockwell.service.TextContentService;
//import com.tangcco.lockwell.service.impl.DataDictionaryServiceImpl;
//import com.tangcco.lockwell.viewmodel.admin.groups.GroupsPageFindVM;
//import com.tangcco.lockwell.viewmodel.admin.question.QuestionVmas;
//import org.junit.jupiter.api.Test;
//import org.springframework.boot.test.context.SpringBootTest;
//
//import javax.annotation.Resource;
//import java.io.BufferedReader;
//import java.io.File;
//import java.io.FileReader;
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.Date;
//import java.util.List;
//import java.util.Random;
//
//import static com.tangcco.lockwell.utility.ConvertCamelToUnderline.bigToSmall;
//import static com.tangcco.lockwell.utility.DateToString.dateToString;
//import static com.tangcco.lockwell.utility.JsonUtil.toJsonListObject;
//import static com.tangcco.lockwell.utility.JsonUtil.toJsonStr;
//import static java.util.Arrays.binarySearch;
//
//@SpringBootTest
//class LockwellApplicationTests_ljz {
//
//	@Resource
//	GroupsMapper groupsMapper;
//
//	@Resource
//	GroupsRelationshipMapper groupsRelationshipMapper;
//
//	@Resource
//	QuestionService questionService;
//
//	@Test
//	void contextLoads() {
//		//添加
//	/*	for (int i = 0; i < 5; i++) {
//			int rows = groupsMapper.insertGroups(new Groups(null, i, "测试组"+i, "测试描述"+i, i, i, i,dateToString(new Date()), dateToString(new Date()), i));
//			System.out.println(rows);
//		}*/
//
//
//
//
//		//查询
///*		GroupsPageFindVM groupsPageFindVM = new GroupsPageFindVM();
//		groupsPageFindVM.setPageSize(3);
//		groupsPageFindVM.setPageIndex(0);
//		groupsPageFindVM.setTitle("group_id");
//		groupsPageFindVM.setSort("desc");
//		List<Groups> groupsByConditions = groupsMapper.findGroupsByConditionsSelective(groupsPageFindVM);
//		for (Groups groups : groupsByConditions) {
//			System.out.println(groups);
//		}*/
//
//		//修改
//
//
//
//
////		//删除
////		int rows = groupsMapper.deleteGroups(1);
////		System.out.println(rows);
//
//
//	}
//
//
//	@Test
//	void contextLoads2() {
//
//	/*	System.out.println(dateToString(new Date()));*/
//
//		//添加
///*
//		for (int i = 0; i < 10; i++) {
//			GroupsRelationship groupsRelationship = new GroupsRelationship(null, i, i, i, i, dateToString(new Date()),  i);
//			int insert = groupsRelationshipMapper.insert(groupsRelationship);
//			System.out.println(insert);
//		}
//*/
//
//
//		//查询
///*		GroupsRelationshipFindVM groupsRelationshipFindVM = new GroupsRelationshipFindVM();
//		groupsRelationshipFindVM.setPageSize(5);
//		groupsRelationshipFindVM.setPageIndex(0);
//		groupsRelationshipFindVM.setTitle("id");
//		groupsRelationshipFindVM.setSort("desc");
//
//		List<GroupsRelationship> groupUsersByConditions = groupsRelationshipMapper.findGroupUsersByConditionsSelective(groupsRelationshipFindVM);
//		for (GroupsRelationship groupRelationship : groupUsersByConditions) {
//			System.out.println(groupRelationship);
//		}*/
//
//		GroupsRelationship groupUsersByConditions = groupsRelationshipMapper.findGroupUsersByConditions(1, 1);
//		System.out.println(groupUsersByConditions);
//
//
//		//修改
//		/*int rows = groupsRelationshipMapper.updateGroupByPermission(2, 3);
//		System.out.println(rows);
//*/
//
//		//修改
//		/*int rows = groupsRelationshipMapper.updateGroupByStatus(1, 3);
//		System.out.println(rows);*/
//
//
//
//	/*	//删除
//		int rows = groupsRelationshipMapper.deleteGroupUserByConditionsSelective(1,null);
//		System.out.println(rows);
//*/
//
//
//
//	}
//
//
//	@Test
//	void contextLoads3() {
//		 String[] arr={"groupId","createTime","modifyTime","userMax"};
//		int rows = binarySearch(arr, "111");
//		System.out.println(rows);
//	}
//
//	@Test
//	void contextLoads4() {
//		String aa = "modifyTime";
//		String s = bigToSmall(aa);
//		System.out.println(s);
//	}
//
//	@Test
//	void contextLoads5() {
//		ArrayList<String> arr= new ArrayList<>();
//		{
//			arr.add("createTime");
//			arr.add("modifyTime");
//			arr.add("userMax");
//			arr.add("groupId");
//		}
//		GroupsPageFindVM groupsPageFindVM = new GroupsPageFindVM();
//	 	if (groupsPageFindVM.getTitle()!= null){
//			System.out.println("1");
//			System.out.println(groupsPageFindVM.getTitle());
//			boolean contains = arr.contains(groupsPageFindVM.getTitle());
//			if (!contains){
//				System.out.println("2");
//			}
//		}
//		if (groupsPageFindVM.getSort()!= null&&groupsPageFindVM.getTitle()==null){
//			System.out.println("3");
//		}
//	}
//
//	@Test
//	void contextLoads6() throws IOException {
//		String jsonFilePath = "G:\\BaiduSyncdisk\\english_2020.json";
//		ObjectMapper objectMapper = new ObjectMapper();
//
//           Questionnaire questionnaire = objectMapper.readValue(new File(jsonFilePath), objectMapper.getTypeFactory().constructCollectionType(List.class, Questionnaire.class));
//
//			String json = objectMapper.writeValueAsString(questionnaire);
//			System.out.println(json);/*
//
//			String jsonContent = objectMapper.readTree(new File(jsonFilePath)).toString();
//			System.out.println(jsonContent);
//			Questionnaire questionnaire = objectMapper.readValue(jsonContent, Questionnaire.class);
//			System.out.println(questionnaire);
//
//
//		} catch (IOException e) {
//            throw new RuntimeException(e);
//        }
//*/
//
//    }
//
//	@Resource
//	ArticleService articleService;
//
//	@Resource
//	TextContentService textContentService;
//
//
//
////	@Test
//	/**
//	 * 测试方法，用于验证从 JSON 文件中读取数据并反序列化为 Questionnaire 对象的功能
//	 * 该方法会读取指定路径的 JSON 文件，将其内容解析为 Questionnaire 对象，并打印该对象及其 materials 列表的大小
//	 */
//
///*	void contextLoads7() {
//		// 定义 JSON 文件的路径
//		String jsonFilePath = "G:\\BaiduSyncdisk\\english_2024.json";
//		// 使用 try-with-resources 语句自动关闭 BufferedReader 对象
//		try (BufferedReader br = new BufferedReader(new FileReader(jsonFilePath))) {
//			// 创建一个 StringBuilder 对象，用于存储读取的 JSON 内容
//			StringBuilder jsonContent = new StringBuilder();
//			// 定义一个字符串变量，用于存储读取的每一行数据
//			String line;
//			// 循环读取文件中的每一行，直到读取完毕
//			while ((line = br.readLine())!= null) {
//				// 将读取的行内容添加到 jsonContent 中
//				jsonContent.append(line);
//			}
//			// 创建一个 ObjectMapper 对象，用于将 JSON 字符串转换为 Java 对象
//			ObjectMapper objectMapper = new ObjectMapper();
//			// 配置 ObjectMapper，使其在遇到未知属性时不抛出异常
////			objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
//			// 使用 ObjectMapper 将 JSON 字符串反序列化为 Questionnaire 对象
//			Questionnaire questionnaire = new ObjectMapper().readValue(jsonContent.toString(), Questionnaire.class);
//			// 打印反序列化后的 Questionnaire 对象
//			System.out.println(questionnaire);
//			// 打印 Questionnaire 对象中 materials 列表的大小
//			System.out.println(questionnaire.getMaterials().size());
//			int num = 1;
//
//			for (Material material : questionnaire.getMaterials()) {
//
//				Article article = new Article();
//				if (material.getContent()!=null){
//
//					article.setArticleContent(objectMapper.writeValueAsString(material.getContent()));
//					article.setCreateTime(dateToString(new Date()));
//					article.setModifyTime(dateToString(new Date()));
//					articleService.insert(article);
//				}
//				for (com.tangcco.lockwell.domain.test.Question question1 : material.getQuestions()) {
//				     TextContent textContent = new TextContent();
//					Question01 question01 = new Question01();
//					question01.setQuestion_index(question1.getQuestion_index());
//					question01.setQuestion_title(question1.getQuestion_title());
//					question01.setOptions(question1.getOptions());
//					 textContent.setContent(objectMapper.writeValueAsString(question01));
//					 textContent.setCreateTime(dateToString(new Date()));
//					 textContent.setModifyTime(dateToString(new Date()));
//					 textContentService.insert(textContent);
//					Question question = new Question();
//					 question.setCreateTime(dateToString(new Date()));
//					 question.setModifyTime(dateToString(new Date()));
//					 if (material.getType() == 4) {
//						 question.setQuestionType(22);
//					 }else if (material.getType() == 1 || material.getType() == 6) {
//						 question.setQuestionType(20);
//					 }else if (material.getType() == 101) {
//						 question.setQuestionType(21);
//					 }
//					 num++;
//					 question.setSubjectId(1);
//					question.setQuestionType(material.getType());
//					question.setCorrect(question1.getCorrectAnswer());
////					question.setInfoTextContentId(article.getId());
////					question.setStatus(1);
////					question.setArticleId(textContent.getId());
//					questionService.insert(question);
//
//
//
//				}
//
//			}
//
//		} catch (IOException e) {
//			// 捕获异常，并打印异常堆栈跟踪信息
//			e.printStackTrace();
//		}
//	}*/
//
//
//
///*	@Test
//	void contextLoads9() {
//		// 定义 JSON 文件的路径
//		String jsonFilePath = "G:\\BaiduSyncdisk\\politics_2022.json";
//		// 使用 try-with-resources 语句自动关闭 BufferedReader 对象
//		try (BufferedReader br = new BufferedReader(new FileReader(jsonFilePath))) {
//			// 创建一个 StringBuilder 对象，用于存储读取的 JSON 内容
//			StringBuilder jsonContent = new StringBuilder();
//			// 定义一个字符串变量，用于存储读取的每一行数据
//			String line;
//			// 循环读取文件中的每一行，直到读取完毕
//			while ((line = br.readLine())!= null) {
//				// 将读取的行内容添加到 jsonContent 中
//				jsonContent.append(line);
//			}
//			// 创建一个 ObjectMapper 对象，用于将 JSON 字符串转换为 Java 对象
//			ObjectMapper objectMapper = new ObjectMapper();
//			// 配置 ObjectMapper，使其在遇到未知属性时不抛出异常
////			objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
//			// 使用 ObjectMapper 将 JSON 字符串反序列化为 Questionnaire 对象
//			List<SSSSS> sss = toJsonListObject(jsonContent.toString(), SSSSS.class);
//			// 打印反序列化后的 Questionnaire 对象
//			System.out.println(sss.size());
//			// 打印 Questionnaire 对象中 materials 列表的大小
//
//			int num = 1;
//
//			for (SSSSS aa : sss) {
//				TextContent textContent = new TextContent();
//				SSS01 sss01 = new SSS01();
//				sss01.setQuestion_index(aa.getQuestion_index());
//				sss01.setQuestion_title(aa.getQuestion_title());
//				sss01.setOptions(aa.getOptions());
//				textContent.setContent(objectMapper.writeValueAsString(sss01));
//				textContent.setCreateTime(dateToString(new Date()));
//				textContentService.insert(textContent);
//				Question question = new Question();
//				question.setCreateTime(dateToString(new Date()));
//				if (aa.getQuestion_type() == 1){
//					question.setQuestionType(26);
//				}else if (aa.getQuestion_type() == 2){
//					question.setQuestionType(27);
//				}else if (aa.getQuestion_type() == 15){
//					question.setQuestionType(28);
//				}
//
//				question.setSubjectId(2);
//				question.setCorrect(aa.getCorrectAnswer());
////				question.setInfoTextContentId(textContent.getId());
//				question.setStatus(1);
//				questionService.insert(question);
//
//
//				}
//
//
//
//		} catch (IOException e) {
//			// 捕获异常，并打印异常堆栈跟踪信息
//			e.printStackTrace();
//		}
//	}*/
////297
//	@Resource
//	UserMapper userMapper;
//	@Test
//	void eventLoads() {
//		User admin = userMapper.getUserByUserName("admin");
//		System.out.println(admin);
//	}
//
//
//	@Test
//	void contextLoads7() throws IOException {
//		// 定义 JSON 文件的路径
//		String jsonFilePath = "G:\\BaiduSyncdisk\\politics_2022.json";
//		// 使用 try-with-resources 语句自动关闭 BufferedReader 对象
//		try (BufferedReader br = new BufferedReader(new FileReader(jsonFilePath))) {
//			// 创建一个 StringBuilder 对象，用于存储读取的 JSON 内容
//			StringBuilder jsonContent = new StringBuilder();
//			// 定义一个字符串变量，用于存储读取的每一行数据
//			String line;
//			// 循环读取文件中的每一行，直到读取完毕
//			while ((line = br.readLine()) != null) {
//				// 将读取的行内容添加到 jsonContent 中
//				jsonContent.append(line);
//			}
//			// 创建一个 ObjectMapper 对象，用于将 JSON 字符串转换为 Java 对象
//			ObjectMapper objectMapper = new ObjectMapper();
//			// 配置 ObjectMapper，使其在遇到未知属性时不抛出异常
////			objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
//			// 使用 ObjectMapper 将 JSON 字符串反序列化为 Questionnaire 对象
//			List<SSSSS> sss = toJsonListObject(jsonContent.toString(), SSSSS.class);
//			int num = 1;
//			int num3 = 6;
//			int num2 = 39;
//			for (SSSSS ssss : sss) {
//
//				QuestionVmas q = new QuestionVmas();
//				q.setId(num2);
//
//				if (num < 17){
//					q.setQuestionType(26);
//				}
//				if (num >= 17 && num < 34){
//					q.setQuestionType(27);
//				}
//				if (num >= 34){
//					q.setQuestionType(28);
//				}
//
//				Random r = new Random();
//				int rows = r.nextInt(4) +6;
//				q.setSubjectId(rows);
//				q.setSubjectParentId(2);
//				q.setGradeLevel(2022);
//				String str = ssss.getCorrectAnswer();
//				String a = str.replace("0", "A");
//				String b = a.replace("1", "B");
//				String c = b.replace("2", "C");
//				String d = c.replace("3", "D");
//				String e = d.replace("4", "E");
//				String f = e.replace("5", "F");
//				String g = f.replace("6", "G");
//				q.setCorrect(g);
//				List<String> options = ssss.getOptions();
//				List<Q3> array = new ArrayList<>();
//				Article article = new Article();
//				Q1 q1 = new Q1();
//				List<Q1> q1List = new ArrayList<>();
// 				char ccc = 'A';
//				if (num < 34){
//					q1.setQtitle(ssss.getQuestion_title());
//					q1List.add(q1);
//				}
//				if (num >= 34){
//					String questionTitle = ssss.getQuestion_title();
//					String[] split = questionTitle.split("\\+");
//					article.setArticleContent(split[0]);
//					article.setCreateTime(dateToString(new Date()));
//					article.setArticleId(num3);
//					num3++;
//					String sq1 = "";
//					articleService.insert(article);
//
//					for (int i = 1; i < split.length; i++){
//						Q1 q11 = new Q1();
//						q11.setQtitle(split[i]);
//						q1List.add(q11);
//					}
//					q1.setQtitle(toJsonStr(q1List));
//				}
//
//				for (String option : options) {
//					Q3 q3 = new Q3();
//					String s = String.valueOf(ccc);
//					q3.setPrefix(s);
//					ccc++;
//					q3.setContent(option);
//					array.add(q3);
//				}
//				q1.setItem(array);
//				q.setTextContent(toJsonStr(q1List));
//
//	            q.setCreateUser("18");
//				q.setStatus(1);
//				q.setCreateTime(dateToString(new Date()));
//				q.setModifyTime(dateToString(new Date()));
//				q.setArticleContent(article.getArticleId());
//				num++;
//				num2++;
//
//			}
//		}
//	}
//
//
///*	void contextLoads8() throws IOException {
//		// 定义 JSON 文件的路径
//		String jsonFilePath = "G:\\BaiduSyncdisk\\english_2020.json";
//		// 使用 try-with-resources 语句自动关闭 BufferedReader 对象
//		try (BufferedReader br = new BufferedReader(new FileReader(jsonFilePath))) {
//			// 创建一个 StringBuilder 对象，用于存储读取的 JSON 内容
//			StringBuilder jsonContent = new StringBuilder();
//			// 定义一个字符串变量，用于存储读取的每一行数据
//			String line;
//			// 循环读取文件中的每一行，直到读取完毕
//			while ((line = br.readLine()) != null) {
//				// 将读取的行内容添加到 jsonContent 中
//				jsonContent.append(line);
//			}
//			// 创建一个 ObjectMapper 对象，用于将 JSON 字符串转换为 Java 对象
//			ObjectMapper objectMapper = new ObjectMapper();
//			// 配置 ObjectMapper，使其在遇到未知属性时不抛出异常
////			objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
//			// 使用 ObjectMapper 将 JSON 字符串反序列化为 Questionnaire 对象
//			Questionnaire questionnaire = new ObjectMapper().readValue(jsonContent.toString(), Questionnaire.class);
//			// 打印反序列化后的 Questionnaire 对象
//			System.out.println(questionnaire);
//			// 打印 Questionnaire 对象中 materials 列表的大小
//			System.out.println(questionnaire.getMaterials().size());
//			int num = 1;
//			int num2 = 197;
//
//			for (Material material : questionnaire.getMaterials()) {
//
//				for (com.tangcco.lockwell.domain.test.Question question1 : material.getQuestions()) {
//					QuestionVmas q = new QuestionVmas();
//					q.setId(num2);
//					num2++;
//					if (material.getType() == 4){
//						q.setQuestionType(22);
//					}
//					if (material.getType() == 1 ){
//						q.setQuestionType(20);
//					}
//					if (material.getType() == 6 ){
//						q.setQuestionType(20);
//					}
//					if (material.getType() == 101 ){
//						q.setQuestionType(21);
//					}
//					q.setSubjectId(1);
//					q.setGradeLevel(2020);
//					q.setCorrect(question1.getCorrectAnswer());
//					q.setTextContent(toJsonStr(question1.getOptions()));
//					q.setCreateUser("18");
//					q.setStatus(1);
//					q.setCreateTime(dateToString(new Date()));
//					q.setModifyTime(dateToString(new Date()));
//*//*
//					q.setArticleContent(toJsonStr(material.getContent().get(0).getValue()));
//*//*
//					questionService.insert(q);
//
//				}
//
//			}
//
//		}
//
//
//	}*/
//
//
//	@Resource
//	DataDictionaryServiceImpl dataDictionaryService;
//	@Test
//	void contextLoads9() throws IOException {
//		char a = 'a';
//		a++;
//		String aa = String.valueOf(a);
//		System.out.println(aa);
//
//	}
//
//
//
//
//
//
//}
